In a processing apparatus, a trace circuit may be provided for monitoring processing operations performed by a processing circuit and generating trace data indicative of the processing operations performed. A diagnostic apparatus may analyse the trace data, in order to deduce a processing outcome of the processing operations. The processing outcome can be checked against an expected outcome to verify whether or not the processing apparatus is operating correctly.
A processing apparatus may execute conditional instructions which specify an associated condition. The processing outcome of a conditional instruction is dependent on whether the associated condition is satisfied at the time of execution of the conditional instruction. When execution of a conditional instruction is traced by a trace circuit, then the trace circuit may generate trace data including an indication of whether or not the condition was passed or failed. When analysing the trace data then the pass/fail indication can be used to determine the outcome of the conditional instruction.
However, when tracing some advanced processors, the pass/fail result of a conditional result can be difficult to obtain. Some processors may comprise processing pipelines having multiple execution stages in parallel with one another. Some processors may perform out-of-order execution of instructions to improve performance. Accordingly, it can be difficult to predict in advance when, and at which point in the pipeline, the pass/fail result will become available. The present technique seeks to simplify the tracing of conditional instructions.